package com.zbkj.crmeb.store.response;


import com.zbkj.crmeb.store.model.OrderInfoDelivery;
import com.zbkj.crmeb.store.model.StoreOrderRefundApply;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * 
 * @author cyz
 * @date 2021/4/8 15:53
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="OrderInfoProductResponse", description="订单商品详情")
public class OrderInfoProductResponse implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "商品订单ID")
    private Integer orderInfoId;
    @ApiModelProperty(value = "商品订单加密串")
    private String orderCode;
    @ApiModelProperty(value = "商品ID")
    private Integer productId;
    @ApiModelProperty(value = "图片")
    private String image;
    @ApiModelProperty(value = "商品名称")
    private String storeName;
    @ApiModelProperty(value = "货号")
    private String keyword;
    @ApiModelProperty(value = "规格")
    private String suk;
    @ApiModelProperty(value = "供应商id")
    private Integer suppliersId;
    @ApiModelProperty(value = "供应商id")
    private String suppliersName;
    @ApiModelProperty(value = "发货地")
    private String tempName;
    @ApiModelProperty(value = "发货地id")
    private Integer tempId;
    @ApiModelProperty(value = "价格")
    private BigDecimal price;
    @ApiModelProperty(value = "商户成本价")
    private BigDecimal cost;
    @ApiModelProperty(value = "平台成本价")
    private BigDecimal sourceCost;
    @ApiModelProperty(value = "建议销售价")
    private BigDecimal otPrice;
    @ApiModelProperty(value = "数量(件)")
    private Integer cartNum;
    @ApiModelProperty(value = "小计(元)")
    private BigDecimal totalPrice;
    @ApiModelProperty(value = "采购状态 1：无需采购  2：待采购  3：已采购  4:云仓商品订单自主发货")
    private Integer procureStatus;
    @ApiModelProperty(value = "物流")
    private String logistics;

    @ApiModelProperty(value = "物流信息")
    private OrderInfoDelivery delivery;

    @ApiModelProperty(value = "采购订单号")
    private List<String> deliveryOrderNoList;

    @ApiModelProperty(value = "推送地址")
    private String deliveryAddress;

    @ApiModelProperty(value = "首段物流")
    private BigDecimal firstPrice;

    @ApiModelProperty(value = "二段物流")
    private BigDecimal secondPrice;

    @ApiModelProperty(value = "税费")
    private BigDecimal taxPrice;

    @ApiModelProperty(value = "品牌名称")
    private String brandName;
    
    @ApiModelProperty(value = "是否已报关")
    private Boolean isCustoms;

    @ApiModelProperty(value = "skuid")
    private String skuId;

    @ApiModelProperty(value = "barcode")
    private String barCode;

    @ApiModelProperty(value = "当前库存")
    private Integer stock;

    @ApiModelProperty(value = "子订单号")
    private String childOrderNumber;

    @ApiModelProperty(value = "订单状态(-3:补偿性退款 -2:退货退款 -1:退款申请中 0:待支付 1:待发货 2:待收货 3:待评价 4:已完成 5:已取消 6:待确认)")
    private Integer status;

    @ApiModelProperty(value = "商品金额 （售价-积分抵扣金额）")
    private BigDecimal productPaidPrice;

    @ApiModelProperty(value = "使用的积分数")
    private BigDecimal useIntegral;

    @ApiModelProperty(value = "积分抵扣金额")
    private BigDecimal deductionPrice;

    @ApiModelProperty(value = "支付金额")
    private BigDecimal paidPrice;

    @ApiModelProperty(value = "商品来源  1自建 ")
    private Integer isEurope;

    @ApiModelProperty(value = "是否异常订单（0正常 1异常）")
    private Integer abnormal;

    @ApiModelProperty(value = "退款图片")
    private String refundReasonWapImg;

    @ApiModelProperty(value = "退款用户说明")
    private String refundReasonWapExplain;

    @ApiModelProperty(value = "退款时间")
    private Date refundReasonTime;

    @ApiModelProperty(value = "前台退款原因")
    private String refundReasonWap;

    @ApiModelProperty(value = "不退款的理由")
    private String refundReason;

    @ApiModelProperty(value = "子订单总金额")
    private BigDecimal subTotalPrice;

    @ApiModelProperty(value = "实际供应商id")
    private Integer actualSupplierId;

    @ApiModelProperty(value = "实际供应商名称")
    private String actualSuppliersName;

    @ApiModelProperty(value = "实际成本价")
    private BigDecimal actualCost;
    
    @ApiModelProperty(value = "是否已手动推送")
    private Integer isManualPush;

    @ApiModelProperty(value = "下单汇率")
    private BigDecimal exchangeRate;

    @ApiModelProperty(value = "退款信息")
    private List<RefundInfo> refundInfoList;

    @ApiModelProperty(value = "实际运税费")
    private BigDecimal actualTaxAndFreightCount;

    @ApiModelProperty(value = "售价调整方式")
    private String calculation;

    @ApiModelProperty(value = "物流方式  0：默认自行发货，1：平台物流（物流部门未操作），2：海外直邮，3：跨境转运")
    private Integer logisticsType;

    @ApiModelProperty(value = "最终发货地")
    private String actualStockAreaName;

    @ApiModelProperty(value = "实际成本价(欧元)")
    private BigDecimal actualCostEur;

    @ApiModelProperty(value = "国际运费")
    private BigDecimal taxInternationalPrice;
    @ApiModelProperty(value = "转国内运费")
    private BigDecimal taxTurnInlandPrice;
    @ApiModelProperty(value = "国内派送费")
    private BigDecimal taxInlandDeliveryPrice;
    @ApiModelProperty(value = "税金")
    private BigDecimal taxTaxesPrice;

    @ApiModelProperty(value = "优惠券抵扣金额")
    private BigDecimal couponPrice;

    @ApiModelProperty(value = "一级服务商供货价")
    private BigDecimal firstAgentSupply;

    @ApiModelProperty(value = "二级服务商供货价")
    private BigDecimal secondAgentSupply;

    @ApiModelProperty(value = "利润")
    private BigDecimal profit;

    @ApiModelProperty(value = "一级服务商利润")
    private BigDecimal firstAgentProfit;

    @ApiModelProperty(value = "二级服务商利润")
    private BigDecimal secondAgentProfit;

    @ApiModelProperty(value = "服务商供货价")
    private BigDecimal agentSupplyPrice;
    @ApiModelProperty(value = "服务商成本价")
    private BigDecimal agentCostPrice;

    @ApiModelProperty(value = "商家改价金额")
    private BigDecimal changePrice;

    @ApiModelProperty(value = "订单备注")
    private String note;

    @ApiModelProperty(value = "云仓商品自主发货（0平台发货 1自主发货）")
    private Integer autonomous;

    @ApiModelProperty(value = "会员优惠价格")
    private BigDecimal vipReducePrice;

    @ApiModelProperty(value = "活动优惠商品价格")
    private BigDecimal activityProductPrice;

    @ApiModelProperty(value = "活动id")
    private Integer activityId;

    @ApiModelProperty(value = "活动id")
    private StoreOrderRefundApply storeOrderRefundApply;

    @ApiModelProperty(value = "物流信息")
    private OrderInfoDelivery userDelivery;
    
    @ApiModelProperty(value = "是否推送保税仓")
    private Boolean isWzbsc;
    
    @ApiModelProperty(value = "是否推送菜鸟中心仓")
    private Boolean isCainiao;

    @ApiModelProperty(value = "待确认采购单")
    private Boolean purchaseStatus;

    @ApiModelProperty(value = "菜鸟返回的运单号")
    private String cnOrderCode;

    @ApiModelProperty(value = "平台加价率")
    private BigDecimal realPlatRatio;

    @ApiModelProperty(value = "供应商加价率")
    private BigDecimal suppliersRatio;

    @ApiModelProperty(value = "自定义sku")
    private String selfSourceSkuId;

    @ApiModelProperty(value = "attr_value id")
    private String attrId;

}
